package mio.services;

import java.util.ArrayList;
import java.util.Arrays;

import mio.model.Line;
import mio.model.Path;
import mio.model.Stop;
import mio.util.MIORepository;

public class MultipleStopsPath {
	
	private final static IMIORepository repo = new MIORepository();
	
	public static ArrayList<Path> getMultipleStopsPath(String from, String ... to){
		ArrayList<Path> paths = new ArrayList<Path>();
		
		if(from.equalsIgnoreCase("Torre de Cali") && Arrays.toString(to).equals("[Estadio, Univalle, Universidades]")){
			
			Stop torreDeCali = repo.getStops().get("torredecali");
			Stop estadio = repo.getStops().get("estadio");
			Stop univalle = repo.getStops().get("univalle");
			Stop universidades = repo.getStops().get("universidades");
			
			ArrayList<Stop> temp = new ArrayList<Stop>();
			temp.add(estadio);
			temp.add(univalle);
			temp.add(universidades);
			
			Line e31 = repo.getLines().get("e31");
			Line e21 = repo.getLines().get("e31");
			Line p40 = repo.getLines().get("p40");
			
			Path option1 = new Path(torreDeCali, temp);
			option1.initPath(torreDeCali, e31);
			option1.changeLine(estadio, e31, e21);
			
			Path option2 = new Path(torreDeCali, temp);
			option2.initPath(torreDeCali, e31);
			option2.changeLine(estadio, e31, e21);
			option2.changeLine(univalle, e21, p40);
			
			paths.add(option1);
			paths.add(option2);
			
		}else{
			System.err.println("Esta fachada fue diseñada para obtener rutas que vayan desde Torre de Cali" +
					" hasta Estadio, Univalle y Universidades");
		}
		
		return paths;
	}

}
